Controlling a vehicle based on trailer position

ABSTRACT

Examples of techniques for controlling a vehicle based on trailer position are disclosed. In one example implementation according to aspects of the present disclosure, a computer-implemented method includes extracting, by a processing device, a feature point on a trailer from an image captured by a camera associated with a vehicle, the trailer being coupled to the vehicle. The method further includes determining, by the processing device, a distance between the feature point on the trailer and a virtual boundary. The method further includes, responsive to determining that the distance between the feature point on the trailer and the virtual boundary is less than a threshold, controlling, by the processing device, the vehicle to cause the distance between the feature point on the trailer and the virtual boundary to increase.

INTRODUCTION

The subject disclosure relates to controlling a vehicle and, moreparticularly, to controlling a vehicle based on trailer position.

Modern vehicles (e.g., a car, a motorcycle, a boat, or any other type ofvehicle) generally include one or more cameras that provide backupassistance, take images of the vehicle driver to determine driverdrowsiness or attentiveness, provide images of the road, as the vehicleis traveling, for collision avoidance purposes, provide structurerecognition, such as roadway signs, etc. For example, a vehicle can beequipped with multiple cameras, and images from multiple cameras(referred to as “surround view cameras”) can be used to create a“surround” or “bird's eye” view of the vehicle. Some of the cameras(referred to as “long-range cameras”) can be used to capture long-rangeimages (e.g., for object detection for collision avoidance, structurerecognition, etc.).

These vehicles may also be equipped with an in-vehicle display (e.g., atouchscreen) that is used to display camera images and/or other imagesto a driver of the vehicle. For example, a traditional rear-view mirrorand/or side-view mirror may be replaced with a display that displays acamera image from a camera positioned at the rear of the vehicle todisplay the “rear view” to the driver in place of the traditionalrear-view mirror.

SUMMARY

In one exemplary embodiment, a computer-implemented method forcontrolling a vehicle based on trailer position is provided. The methodincludes extracting, by a processing device, a feature point on atrailer from an image captured by a camera associated with a vehicle,the trailer being coupled to the vehicle. The method further includesdetermining, by the processing device, a distance between the featurepoint on the trailer and a virtual boundary. The method furtherincludes, responsive to determining that the distance between thefeature point on the trailer and the virtual boundary is less than athreshold, controlling, by the processing device, the vehicle to causethe distance between the feature point on the trailer and the virtualboundary to increase.

In addition to one or more of the features described herein, the methodcan further include generating, by the processing device, the virtualboundary based at least in part on a detected road feature. In someexamples, controlling the vehicle includes causing the vehicle to shiftwith respect to a center line associated with the vehicle. In additionto one or more of the features described herein, the method can furtherinclude, prior to extracting the feature point, capturing a plurality ofimages using the camera, wherein the image is one of the plurality ofimages. In some examples, the feature point is a first feature point,the image is a first image, and the camera is a first camera, and themethod further includes extracting, by the processing device, a secondfeature point on the trailer from a second image captured by a secondcamera associated with the vehicle. In some examples, the distancebetween the first feature point on the trailer and the virtual boundaryis determined based at least in part on a triangulation process. In someexamples, the threshold is based at least in part on a roadcharacteristic and a vehicle speed.

In another exemplary embodiment, a system is provided that includes amemory including computer readable instructions, and a processing devicefor executing the computer readable instructions for performing a methodfor controlling a vehicle based on trailer position. The method includesextracting, by a processing device, a feature point on a trailer from animage captured by a camera associated with a vehicle, the trailer beingcoupled to the vehicle. The method further includes determining, by theprocessing device, a distance between the feature point on the trailerand a virtual boundary. The method further includes, responsive todetermining that the distance between the feature point on the trailerand the virtual boundary is less than a threshold, controlling, by theprocessing device, the vehicle to cause the distance between the featurepoint on the trailer and the virtual boundary to increase.

In addition to one or more of the features described herein, the methodcan further include generating, by the processing device, the virtualboundary based at least in part on a detected road feature. In someexamples, controlling the vehicle includes causing the vehicle to shiftwith respect to a center line associated with the vehicle. In additionto one or more of the features described herein, the method can furtherinclude, prior to extracting the feature point, capturing a plurality ofimages using the camera, wherein the image is one of the plurality ofimages. In some examples, the feature point is a first feature point,the image is a first image, and the camera is a first camera, and themethod further includes extracting, by the processing device, a secondfeature point on the trailer from a second image captured by a secondcamera associated with the vehicle. In some examples, the distancebetween the first feature point on the trailer and the virtual boundaryis determined based at least in part on a triangulation process. In someexamples, the threshold is based at least in part on a roadcharacteristic and a vehicle speed.

In yet another exemplary embodiment, a computer program product isprovided that includes a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya processing device to cause the processing device to perform a methodfor controlling a vehicle based on trailer position. The method includesextracting, by a processing device, a feature point on a trailer from animage captured by a camera associated with a vehicle, the trailer beingcoupled to the vehicle. The method further includes determining, by theprocessing device, a distance between the feature point on the trailerand a virtual boundary. The method further includes, responsive todetermining that the distance between the feature point on the trailerand the virtual boundary is less than a threshold, controlling, by theprocessing device, the vehicle to cause the distance between the featurepoint on the trailer and the virtual boundary to increase.

In addition to one or more of the features described herein, the methodcan further include generating, by the processing device, the virtualboundary based at least in part on a detected road feature. In someexamples, controlling the vehicle includes causing the vehicle to shiftwith respect to a center line associated with the vehicle. In additionto one or more of the features described herein, the method can furtherinclude, prior to extracting the feature point, capturing a plurality ofimages using the camera, wherein the image is one of the plurality ofimages. In some examples, the feature point is a first feature point,the image is a first image, and the camera is a first camera, and themethod further includes extracting, by the processing device, a secondfeature point on the trailer from a second image captured by a secondcamera associated with the vehicle. In some examples, the distancebetween the first feature point on the trailer and the virtual boundaryis determined based at least in part on a triangulation process.

The above features and advantages, and other features and advantages ofthe disclosure are readily apparent from the following detaileddescription when taken in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features, advantages, and details appear, by way of example only,in the following detailed description, the detailed descriptionreferring to the drawings in which:

FIG. 1 depicts a vehicle including cameras and a processing system forcontrolling the vehicle based at least in part on trailer positionaccording to one or more embodiments;

FIG. 2 depicts the vehicle of FIG. 1 having a trailer attached theretoaccording to one or more embodiments;

FIG. 3 depicts the vehicle and trailer of FIG. 2 according to one ormore embodiments;

FIG. 4 depicts a flow diagram of a method for controlling a vehiclebased at least in part on trailer position according to one or moreembodiments;

FIG. 5 depicts a flow diagram of a method for controlling a vehiclebased at least in part on trailer position according to one or moreembodiments; and

FIG. 6 depicts a block diagram of a processing system for implementingthe techniques described herein according to aspects of the presentdisclosure.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is notintended to limit the present disclosure, its application or uses. Itshould be understood that throughout the drawings, correspondingreference numerals indicate like or corresponding parts and features. Asused herein, the term module refers to processing circuitry that mayinclude an application specific integrated circuit (ASIC), an electroniccircuit, a processor (shared, dedicated, or group) and memory thatexecutes one or more software or firmware programs, a combinationallogic circuit, and/or other suitable components that provide thedescribed functionality.

The technical solutions described herein provide for controlling avehicle having a trailer attached thereto based on the position of thetrailer. The present techniques prevent a trailer (being attached to avehicle) from crossing lane/road/curb boundaries by extracting (from animage) a feature point on a trailer, determining a distance between thefeature point and a boundary, and controlling the vehicle to maintainseparation between the feature point on the trailer and the boundary.This can be beneficial for automated driving, where real-time trailerand vehicle position monitoring is important for preventing lanecrossing and/or collisions. Existing approaches can be inaccurate, suchas a GPS-based error in localization, inaccuracy of hitch anglesestimation, and trailer length-width ratio calculations are prone toerror and can result in lane crossings. The present techniques provideimprovements in monitoring the trailer position relative to a boundary(e.g., a lane marking) without being affected by inaccuracy in hitchangle, trailer length, width, and weight estimation and localization.

FIG. 1 depicts a vehicle 100 including a processing system 110 forcontrolling the vehicle 100 based at least in part on trailer position.The vehicle 100 may be a car, truck, van, bus, motorcycle, or anothersuitable vehicle to which a trailer can be attached. The trailer can beattached to the vehicle 100 by a suitable connection, such as a towhitch, a fifth-wheel coupling, or another suitable connection.

When the vehicle 100 and trailer (such as the trailer 201 of FIG. 2)traverse a road (such as the road 202 of FIG. 2), the trailer can tendto cross lane markings, curbs, and/or road boundaries (e.g., theboundary 203 of FIG. 2), such as when the vehicle 100 is in a curve orturn. The processing system 110 associated with the vehicle 100 aids incontrolling the vehicle 100 based at least in part on the position ofthe trailer. For example, the vehicle 100 can be controlled to cause thevehicle 100 and the trailer 201 to stay within certain boundaries. To dothis, the processing system 110 of the vehicle 100 utilizes a featureextraction engine 112, a position determining engine 114, and a vehiclecontrol engine 116.

The feature extraction engine 112 determines a feature point on thetrailer using one or more cameras. In particular, the vehicle 100 mayinclude cameras 120, 121, 122, 123, and cameras 130, 131, 132, 133. Thecameras 120-123 are surround view cameras that capture images externalto, and in near proximity to, the vehicle 100. The images captured bythe cameras 120-123 together form a surround view (sometimes referred toas a “top-down view” or a “bird's eye view”) of the vehicle 100. Theseimages can be used for operating the vehicle (e.g., parking, backing,etc.). The cameras 130-133 are long-range cameras that capture imagesexternal to the vehicle and farther away from the vehicle 100 than thecameras 120-123. These images can be used for object detection andavoidance, for example. It should be appreciated that, although eightcameras 120-123 and 130-133 are shown, more or fewer cameras may beimplemented in various embodiments.

The captured images can be displayed on a display (not shown) to provideexternal views of the vehicle 100 to the driver/operator of the vehicle100. The captured images can be displayed as live images, still images,or some combination thereof. In some examples, the images can becombined to form a composite view, such as the surround view.

The feature extraction engine 112 uses images captured from one or moreof the cameras 120-123,130-133. For example, the cameras 121,133 caneach capture images of the trailer from the vehicle 100. The featureextraction engine 112 can use image recognition techniques to identify afeature point, such as a front corner of the trailer, a rear corner ofthe trailer, etc.) from the images.

The position determining engine 114 can use the feature point extractedby the feature extraction engine 112 to determine a distance “c” betweenthe feature point and a virtual boundary (FIG. 2). The virtual boundarycan represent an actual lane boundary or another boundary, and thevirtual boundary can be generated from a detected road feature. Forexample, the virtual boundary can be based on a detected curb, laneline, etc., using image processing techniques on images captured by oneor more of the cameras 120-123,130-133. If the distance “c” between thefeature point and the virtual boundary is below an acceptable distance,the vehicle control engine 116 can control the vehicle to cause thevehicle (and, accordingly, the trailer) to move such that the distancebetween the feature point and the virtual boundary is increased to anacceptable distance. It should be appreciated that the acceptabledistance (i.e., threshold) can vary based on factors such as a speed ofthe vehicle 100, a vehicle in an adjacent lane, road characteristics(such as lane width, road curvature, and the like), etc. For example, asthe speed of the vehicle 100 increases, the acceptable distanceincreases.

The various components, modules, engines, etc. described regarding FIG.1 can be implemented as instructions stored on a computer-readablestorage medium, as hardware modules, as special-purpose hardware (e.g.,application specific hardware, application specific integrated circuits(ASICs), application specific special processors (ASSPs), fieldprogrammable gate arrays (FPGAs), as embedded controllers, hardwiredcircuitry, etc.), or as some combination or combinations of these.According to aspects of the present disclosure, the engine(s) describedherein can be a combination of hardware and programming. The programmingcan be processor executable instructions stored on a tangible memory,and the hardware can include a processing device (e.g., the CPU 621 ofFIG. 6) for executing those instructions. Thus a system memory (e.g.,the RAM 624 of FIG. 6) can store program instructions that when executedby the processing device implement the engines described herein. Otherengines can also be utilized to include other features and functionalitydescribed in other examples herein.

FIG. 2 depicts the vehicle 100 having a trailer 201 attached theretoaccording to one or more embodiments. The vehicle 100 is traveling alonga road 202, which as shown, is curved. As the vehicle 100 navigates thecurve, the trailer 201 may tend to cross the boundary (e.g., the laneboundary 203). Using the present techniques, the vehicle 100 can becontrolled to prevent and/or correct this tendancy.

FIG. 2 includes variables defined as follows: Rf represents the turningradius of the vehicle 100 (with respect to the front of the vehicle); Rtrepresents the turning radius of the trailer 201 (with respect to theend of the trailer); Ψ represents the articulation angle between acenter line 204 of the vehicle 100 and a center line 205 of the trailer201; “a1” represents the distance between the front of the vehicle 100and the front axle of the vehicle 100; “l” represents the wheel base ofthe vehicle 100; “b1” represents the distance between the rear axle ofthe vehicle 100 and the rear of the vehicle 100; “b2” represents thelength of the trailer; “w” represents the width of the trailer 201 atthe rear of the trailer; and “c” represents a crossing parameter, whichis the distance between a feature point of the trailer and the boundary203. It is a goal of the present techniques to maintain a value of “c”that is greater than zero in order to maintain separation between theboundary 203 and the trailer 201.

FIG. 3 depicts the vehicle 100 and the trailer 201 according to one ormore embodiments. In this example, two feature points are extracted bythe feature extraction engine 112: a front-end feature point 340 of thetrailer 201 and a rear-end feature point 341 of the trailer 201. Thefront-end feature point 340 is a location on the trailer 340 and isdetermined when the location is visible to two different cameras on thevehicle 100 (e.g., the cameras 121, 123; the cameras 121, 133; thecameras 132, 133, etc.). The visibility from the two different camerasto the front-end feature point is depicted by the lines 350 a, 350 b.

The rear-end feature point 341 is determined using a single camera onthe vehicle 100 (e.g., the camera 121, the camera 131, the camera 122,the camera 132, etc.) The visibility from the camera to the rear-endfeature point 341 is depicted by the line 351.

A side camera position (e.g. the camera 121) “Ps” and a rear cameraposition (e.g. the camera 123) “Pr” are known based on thespecifications of the vehicle 100. The feature points 340, 341 representtrailer corners, and the position of the feature points 340, 341 Pl/rfcan be determined or estimated using triangulation techniques. The sidecamera (e.g., the camera 121) can be used to estimate the trailer'srear-end feature point. For a given angular deviation from the horizon(i.e., pitch angle) ϕth, where ϕ is greater than a pitch angle thresholdϕth, the position of the rear-end feature point 341 can be estimatedwith a bounded error, depicted by the bounded lines 360 a, 360 b. Thebounded error can be based on the trailer length, the pitch angle, andthe location of the feature point 341 Pl/rf.

FIG. 4 depicts a flow diagram of a method 400 for controlling a vehiclebased at least in part on trailer position according to one or moreembodiments. The method 400 can be performed by any suitable processingsystem and/or processing device, such as the processing system 110 ofFIG. 1, the processing system 600 of FIG. 6, or another suitableprocessing device and/or processing system.

At block 402, the feature extraction engine 112 extracts a feature point(e.g., the feature point 341) on a trailer (e.g., the trailer 201) froman image captured by a camera (e.g., one or more of the cameras 120-123,130-133) associated with a vehicle (e.g., the vehicle 100), the trailerbeing coupled to the vehicle.

At block 404, the position determining engine 114 determines a distancebetween the feature point on the trailer and a virtual boundary.

At block 406, the vehicle control engine 116 controls the vehicle tocause the distance between the feature point on the trailer and thevirtual boundary to increase when it is determined that the distancebetween the feature point on the trailer and the virtual boundary isless than the threshold.

Additional processes also may be included, and it should be understoodthat the process depicted in FIG. 4 represents an illustration, and thatother processes may be added or existing processes may be removed,modified, or rearranged without departing from the scope and spirit ofthe present disclosure.

FIG. 5 depicts a flow diagram of a method 500 for controlling a vehiclebased at least in part on trailer position according to one or moreembodiments. The method 500 can be performed by any suitable processingsystem and/or processing device, such as the processing system 110 ofFIG. 1, the processing system 600 of FIG. 6, or another suitableprocessing device and/or processing system.

At block 502, the method 500 begins, and information is received, suchas vehicle and trailer dimensions, camera positions, pitch anglethreshold ϕth, and the like. At decision block 504, it is determinedwhether there is a feature point available to two different cameras(e.g., the camera 121 and the camera 123). This determines whether atwo-camera-based estimation 505 is utilized or a one-camera-basedestimation 513 is utilized.

When it is determined at decision block 504 that there is a featurepoint available to both two different cameras, the two-camera-basedestimation 505 is utilized. At block 506, the feature extraction engine112 estimates a front-end feature point of the trailer's front-end usinga triangulation technique using the two different cameras. At block 508,the feature extraction engine 112 validates the estimation by comparingconsequent images (i.e., frames) from the cameras. At block 510, thefeature extraction engine 112 estimates an acceptable range for thetrailer rear-end corner based on the front-end corner, the trailerlength, and the pitch angle threshold ϕth. At decision block 512, it isthen determined whether a rear-end feature point is within an acceptablerange. If not, the method 500 returns to block 502. However, if therear-end feature point is within an acceptable range, the methodproceeds to block 518, and the two-camera-based estimation 505 iscomplete.

When it is determined at decision block 504 that there is not a featurepoint available to two different cameras, the one-camera-basedestimation 513 is utilized. At block 514, the feature point engine 112estimates a rear feature point using a single camera (e.g., the camera121). At block 516, the feature point engine 112 validates theestimation by comparing consequent images (i.e., frames) from thecameras. The method proceeds to block 518, and the one-camera-basedestimation 513 is complete.

At block 518, the position determining engine 114, determines a distance“c” between the feature point (from the two-camera-based estimation 505or the one-camera-based estimation 513) and a virtual boundary. Atdecision block 520, it is then determined whether the feature point isan acceptable distance from the virtual boundary (i.e., whether thedistance “c” is greater than a threshold). If at decision block 520, itis determined that the distance “c” is acceptable, the method 500 endsor returns to block 502. If at decision block 520, it is determined thatthe distance “c” is not acceptable, the method proceeds to block 522,and the vehicle control engine 116 sends a command to cause the vehicleto move such that the vehicle shifts with respect to its center line(e.g., center line 204) to cause the distance “c” to be acceptable(i.e., greater than the threshold). The method 500 then returns to block502 and restarts.

Additional processes also may be included, and it should be understoodthat the process depicted in FIG. 5 represents an illustration, and thatother processes may be added or existing processes may be removed,modified, or rearranged without departing from the scope and spirit ofthe present disclosure.

It is understood that the present disclosure is capable of beingimplemented in conjunction with any type of computing environment nowknown or later developed. For example, FIG. 6 depicts a block diagram ofa processing system 600 for implementing the techniques describedherein. In examples, processing system 600 has one or more centralprocessing units (processors) 621 a, 621 b, 621 c, etc. (collectively orgenerically referred to as processor(s) 621 and/or as processingdevice(s)). In aspects of the present disclosure, each processor 621 caninclude a reduced instruction set computer (RISC) microprocessor.Processors 621 are coupled to system memory (e.g., random access memory(RAM) 624) and various other components via a system bus 633. Read onlymemory (ROM) 622 is coupled to system bus 633 and may include a basicinput/output system (BIOS), which controls certain basic functions ofprocessing system 600.

Further depicted are an input/output (I/O) adapter 627 and a networkadapter 626 coupled to system bus 633. I/O adapter 627 may be a smallcomputer system interface (SCSI) adapter that communicates with a harddisk 623 and/or another storage drive 625 or any other similarcomponent. I/O adapter 627, hard disk 623, and storage device 625 arecollectively referred to herein as mass storage 634. Operating system640 for execution on processing system 600 may be stored in mass storage634. The network adapter 626 interconnects system bus 633 with anoutside network 636 enabling processing system 600 to communicate withother such systems.

A display (e.g., a display monitor) 635 is connected to system bus 633by display adaptor 632, which may include a graphics adapter to improvethe performance of graphics intensive applications and a videocontroller. In one aspect of the present disclosure, adapters 626, 627,and/or 232 may be connected to one or more I/O busses that are connectedto system bus 633 via an intermediate bus bridge (not shown). SuitableI/O buses for connecting peripheral devices such as hard diskcontrollers, network adapters, and graphics adapters typically includecommon protocols, such as the Peripheral Component Interconnect (PCI).Additional input/output devices are shown as connected to system bus 633via user interface adapter 628 and display adapter 632. A keyboard 629,mouse 630, and speaker 631 (for instance) may be interconnected tosystem bus 633 via user interface adapter 628, which may include, forexample, a Super I/O chip integrating multiple device adapters into asingle integrated circuit.

In some aspects of the present disclosure, processing system 600includes a graphics processing unit 637. Graphics processing unit 637 isa specialized electronic circuit designed to manipulate and alter memoryto accelerate the creation of images in a frame buffer intended foroutput to a display. In general, graphics processing unit 637 is veryefficient at manipulating computer graphics and image processing, andhas a highly parallel structure that makes it more effective thangeneral-purpose CPUs for algorithms where processing of large blocks ofdata is done in parallel.

Thus, as configured herein, processing system 600 includes processingcapability in the form of processors 621, storage capability includingsystem memory (e.g., RAM 624), and mass storage 634, input means such askeyboard 629 and mouse 630, and output capability including speaker 631and display 635. In some aspects of the present disclosure, a portion ofsystem memory (e.g., RAM 624) and mass storage 634 collectively store anoperating system to coordinate the functions of the various componentsshown in processing system 600.

While the above disclosure has been described with reference toexemplary embodiments, it will be understood by those skilled in the artthat various changes may be made and equivalents may be substituted forelements thereof without departing from its scope. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the disclosure without departing from the essentialscope thereof. Therefore, it is intended that the present disclosure notbe limited to the particular embodiments disclosed, but will include allembodiments falling within the scope thereof

What is claimed is:
 1. A computer-implemented method comprising:extracting, by a processing device, a feature point on a trailer from animage captured by a camera associated with a vehicle, the trailer beingcoupled to the vehicle; determining, by the processing device, adistance between the feature point on the trailer and a virtualboundary; and responsive to determining that the distance between thefeature point on the trailer and the virtual boundary is less than athreshold, controlling, by the processing device, the vehicle to causethe distance between the feature point on the trailer and the virtualboundary to increase.
 2. The computer-implemented method of claim 1,further comprising generating, by the processing device, the virtualboundary based at least in part on a detected road feature.
 3. Thecomputer-implemented method of claim 1, wherein controlling the vehiclecomprises causing the vehicle to experience a shift with respect to acenter line associated with the vehicle.
 4. The computer-implementedmethod of claim 1, further comprising prior to extracting the featurepoint, capturing a plurality of images using the camera, wherein theimage is one of the plurality of images.
 5. The computer-implementedmethod of claim 1, wherein the feature point is a first feature point,the image is a first image, and the camera is a first camera, the methodfurther comprising extracting, by the processing device, a secondfeature point on the trailer from a second image captured by a secondcamera associated with the vehicle.
 6. The computer-implemented methodof claim 5, wherein the distance between the first feature point on thetrailer and the virtual boundary is determined based at least in part ona triangulation process.
 7. The computer-implemented method of claim 1,wherein the threshold is based at least in part on a road characteristicand a vehicle speed.
 8. A system comprising: a memory comprisingcomputer readable instructions; and a processing device for executingthe computer readable instructions for performing a method comprising:extracting, by the processing device, a feature point on a trailer froman image captured by a camera associated with a vehicle, the trailerbeing coupled to the vehicle; determining, by the processing device, adistance between the feature point on the trailer and a virtualboundary; and responsive to determining that the distance between thefeature point on the trailer and the virtual boundary is less than athreshold, controlling, by the processing device, the vehicle to causethe distance between the feature point on the trailer and the virtualboundary to increase.
 9. The system of claim 8, wherein the methodfurther comprises generating, by the processing device, the virtualboundary based at least in part on a detected road feature.
 10. Thesystem of claim 8, wherein controlling the vehicle comprises causing thevehicle to experience a shift with respect to a center line associatedwith the vehicle.
 11. The system of claim 8, wherein the method furthercomprises prior to extracting the feature point, capturing a pluralityof images using the camera, wherein the image is one of the plurality ofimages.
 12. The system of claim 8, wherein the feature point is a firstfeature point, the image is a first image, and the camera is a firstcamera, wherein the method further comprises extracting, by theprocessing device, a second feature point on the trailer from a secondimage captured by a second camera associated with the vehicle.
 13. Thesystem of claim 12, wherein the distance between the first feature pointon the trailer and the virtual boundary is determined based at least inpart on a triangulation process.
 14. The system of claim 8, wherein thethreshold is based at least in part on a road characteristic and avehicle speed.
 15. A computer program product comprising: a computerreadable storage medium having program instructions embodied therewith,the program instructions executable by a processing device to cause theprocessing device to perform a method comprising: extracting, by theprocessing device, a feature point on a trailer from an image capturedby a camera associated with a vehicle, the trailer being coupled to thevehicle; determining, by the processing device, a distance between thefeature point on the trailer and a virtual boundary; and responsive todetermining that the distance between the feature point on the trailerand the virtual boundary is less than a threshold, controlling, by theprocessing device, the vehicle to cause the distance between the featurepoint on the trailer and the virtual boundary to increase.
 16. Thecomputer program product of claim 15, wherein the method furthercomprises generating, by the processing device, the virtual boundarybased at least in part on a detected road feature.
 17. The computerprogram product of claim 15, wherein controlling the vehicle comprisescausing the vehicle to experience a shift with respect to a center lineassociated with the vehicle.
 18. The computer program product of claim15, wherein the method further comprises prior to extracting the featurepoint, capturing a plurality of images using the camera, wherein theimage is one of the plurality of images.
 19. The computer programproduct of claim 15, wherein the feature point is a first feature point,the image is a first image, and the camera is a first camera, whereinthe method further comprises extracting, by the processing device, asecond feature point on the trailer from a second image captured by asecond camera associated with the vehicle.
 20. The computer programproduct of claim 19, wherein the distance between the first featurepoint on the trailer and the virtual boundary is determined based atleast in part on a triangulation process.